﻿#ifndef DAQ_FILEFORMATCONVERTER_H
#define DAQ_FILEFORMATCONVERTER_H

#include <QWidget>
#include <QFileInfo.h>
#include "convertthread.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class DAQ_FIleFormatConverter;
}
QT_END_NAMESPACE

class DAQ_FIleFormatConverter : public QWidget
{
    Q_OBJECT

public:
    DAQ_FIleFormatConverter(QWidget *parent = nullptr);
    ~DAQ_FIleFormatConverter();

    enum FileType{
        FILETYPE_NONE,// 无文件
        FILETYPE_BIN, // BIN文件
        FILETYPE_CSV, // CSV文件
    };

private slots:
    void SelectFilePath();
    void ActionConvert();
    void FinshiedThread();

private:
    bool ParseFilePath(QString fileName);

    FileType Suffix2FileType(const QString& suffix);

private:
    Ui::DAQ_FIleFormatConverter* ui;

    QString read_file_path;                     // 读取文件路径
    QString save_file_path;                     // 保存文件路径
    bool arr_enable_channel[8];                 // 对应通道是否采集
    int sample_rate;                            // 采样率
    QString device_name;                        // 设备型号
    FileType input_file_type = FILETYPE_NONE;   // 输入文件类型
    FileType output_file_type = FILETYPE_NONE;  // 输出文件类型
    QFileInfo* file_info = nullptr;             // 读取文件信息
    ConvertThread* c_thread = nullptr;          // 转换线程

};
#endif // DAQ_FILEFORMATCONVERTER_H
